/**
 * 用户信息响应参数
 * @param id 用户ID
 * @param username 用户名
 * @param nickname 昵称
 * @param gender 性别，0：未知，1：男，2：女
 * @param email 邮箱
 * @param phone 手机号
 * @param avatar 头像URL
 * @param description 描述
 * @param pwdResetTime 最近密码重置时间
 * @param pwdExpired 密码是否过期
 * @param registrationDate 注册时间
 * @param deptId 部门ID
 * @param deptName 部门名称
 * @param permissions 权限列表
 * @param roles 角色列表
 * @param roleNames 角色名称列表
 */
export interface IUserInfoResp {
  id: number
  username: string
  nickname: string
  gender: 0 | 1 | 2
  email: string
  phone: string
  avatar: string
  description: string
  pwdResetTime: string
  pwdExpired: boolean
  registrationDate: string
  deptId: number
  deptName: string
  permissions: string[]
  roles: string[]
  roleNames: string[]
}
/**
 * 路由信息响应参数
 * @param id 路由ID
 * @param parentId 父路由ID
 * @param title 路由标题
 * @param type 路由类型，0：目录，1：菜单，2：按钮
 * @param path 路由路径
 * @param name 路由名称
 * @param component 组件路径
 * @param redirect 重定向路径
 * @param icon 图标
 * @param isExternal 是否外部链接
 * @param isCache 是否缓存
 * @param isHidden 是否隐藏
 * @param permission 权限标识
 * @param sort 排序
 */
export interface RouteInfoResp {
  id: number
  parentId: number
  title: string
  type: number
  path: string
  name: string
  component: string
  redirect: string
  icon: string
  isExternal: boolean
  isCache: boolean
  isHidden: boolean
  permission: string
  sort: number
}
/**
 * 路由信息响应参数，包含子路由
 * @param id 路由ID
 * @param parentId 父路由ID
 * @param title 路由标题
 * @param type 路由类型，0：目录，1：菜单，2：按钮
 * @param path 路由路径
 * @param name 路由名称
 * @param component 组件路径
 * @param redirect 重定向路径
 * @param icon 图标
 * @param isExternal 是否外部链接
 * @param isCache 是否缓存
 * @param isHidden 是否隐藏
 * @param permission 权限
 * @param sort 排序
 * @param children 子路由列表
 */
export interface IRouteInfoResp extends RouteInfoResp {
  children: IRouteInfoResp[]
}
/**
 * 三方账号登录授权响应参数
 * @param authorizeUrl 授权 URL，https://gitee.com/oauth/authorize?response_type=code&client_id=5d271b7f638941812aaf8bfc2e2f08f06d6235ef934e0e39537e2364eb8452c4&redirect_uri=http://localhost:5173/social/callback?source=gitee&state=d4ea7129e2531050210e9c918cc007d7&scope=user_info
 */
export interface ISourceResp {
  authorizeUrl: string
}
